Faire du Grand Ouest le territoire numérique de demain

Article

Sobriété numérique : comment développer un projet data éco-responsable ?

Le volume des données numériques stockées devrait être multiplié par 5 entre 2019 et 2025 en France (1). Cette explosion va amener les entreprises à s’équiper pour être en mesure de gérer et exploiter ces données. Mais ces équipements vont augmenter d’autant plus la consommation des ressources physiques (serveurs et datacenters) qui ont un impact indéniable sur notre environnement. Face à ce constat, la sobriété numérique des entreprises devient un réel enjeu. Au travers d’échanges, le groupe “Ethique et Data” de la communauté ADN Data a proposé d’identifier des moyens pour réduire le coût énergétique et environnemental d’un projet data. 

Plusieurs tendances favorisent la croissance exponentielle des données. 

  • Les coûts de calcul et de stockage diminuent alors que les capacités informatiques se développent. 
  • En parallèle, la consommation des applicatifs augmente à toute vitesse, plus rapidement que les ressources physiques capables de les gérer. Et ces ressources ont un impact sur notre environnement ! En effet, le numérique (ordinateurs, data centers, réseaux…) représente aujourd’hui près de 10% de la consommation d’électricité et 5 % des émissions de gaz à effet de serre au niveau mondial (2).
  • Enfin, les usages des entreprises ne plaident pas encore assez en faveur de la sobriété : pour résoudre un problème de performance, une entreprise va souvent commencer par augmenter la ressource de la machine avant de se poser la question de l’optimisation de l’application et donc de sa sobriété. 

C’est dans ce contexte que le groupe “Ethique et Data” de la communauté ADN Data s’est penché sur le sujet de la sobriété numérique appliquée à la data. La sobriété numérique désigne ici la démarche qui conçoit des services numériques plus sobres et modère ses usages numériques quotidiens (selon l'association GreenIT.fr). Le groupe a organisé 4 pauses-cafés dans le but d’échanger, de débattre, et in fine de répondre à cette question :

Comment réduire le coût énergétique et environnemental d’un projet data tout en conservant le niveau de fonctionnalités attendu et sans susciter de coûts supplémentaires ?

L’impact environnemental d’un projet data décisionnel

Un projet data décisionnel collecte toutes les données de l'entreprise dans le but de les croiser et de les partager à l’ensemble des collaborateurs et des partenaires de l’entreprise. Ces données sont centralisées dans un même endroit, appelé data warehouse ou data lake. L’objectif recherché est de mettre en place des tableaux de bord pour piloter l’entreprise.

Pour avoir une idée de sa consommation, voici quelques éléments :

  • Tous les applicatifs métiers internes du système d’informations (SI) sont hébergés sur des serveurs de stockage qui ont une carte mère, un processeur et consomment de l'électricité, de la puissance de calcul et du stockage.

  • Un serveur de flux va connecter toutes ces informations, ce qui coûte en termes de charge de calcul. 

  • Les données de l’entreprise sont souvent centralisées dans un data lake ou data warehouse.

  • Les machines ont un impact environnemental de par leur fabrication et leur utilisation. Ce sont ces éléments physiques qui permettent de mesurer l'impact environnemental des applications numériques.

  • Un projet data, qui n’est pas dans une démarche de sobriété, peut nécessiter jusqu’à 15 serveurs (de flux, de datavisualisation et de base de données), du développement à celui de production.

Les bonnes pratiques pour mettre en place un projet data éco-responsable

Une organisation peut rationaliser la consommation d’un projet data par différents leviers, et notamment par l’optimisation de la conception logicielle et des infrastructures.

Une entreprise dans une logique d’éco-conception pourra optimiser le code à deux niveaux, par :

Le processus ETL (ou "Extraction Transformation Chargement"), une technologie permettant d’effectuer des synchronisations massives d'informations d'une source de données vers une autre. Pour l’optimiser, on pourra :

  • Proscrire les composants dits “bloquants”, surconsommateurs de mémoire (tris, agrégats…). Ces composants ont besoin de charger toute la donnée en mémoire (RAM) avant de pouvoir terminer une opération. Par exemple, pour trier de la donnée, on est obligé de charger toutes les données avant de pouvoir les trier. 

  • La solution consiste alors à privilégier les tris en SQL, moins consommateurs en ressources machines

  • Détecter uniquement les données vivantes (celles qui ont changé depuis le dernier chargement) et donc procéder à un chargement incrémental des données

  • Mettre en cache des tables que l’on peut réutiliser ultérieurement

Le langage SQL (ou “Langage de requêtes structurées”), utilisé pour exploiter des bases de données relationnelles. On peut lui appliquer plusieurs bonnes pratiques qui relèvent pour la plupart du bon sens :

  • Requêter exclusivement les lignes et colonnes “utiles”

  • Indexer les colonnes des tables les plus utilisées pour rendre performantes les requêtes dans les chargements de données et dans la partie reporting 

  • Appliquer les bonnes pratiques en matière de syntaxe de langage de requêtage ce qui permettra au moteur de calcul d’utiliser moins de ressources, et par ailleurs d’être plus efficient en terme de temps de réponses 

Une organisation peut également agir en rationalisant ses infrastructures numériques de la manière suivante : 

  • Utiliser une plateforme cloud ce qui évite l’achat d’infrastructure et le gaspillage de ressources qui ne sont pas utilisées 24h/24

  • Mutualiser ses ressources avec d’autres clients du datacenter :

    • Libérer les ressources quand on ne s’en sert pas dans une logique de Start and Stop

    • Scalabilité à la demande : on peut augmenter ou diminuer la puissance de calcul uniquement quand on en a besoin (Upscale/Downscale)

L’objectif est d’automatiser ces processus afin d’augmenter et de diminuer facilement les performances de la base (qui impactent le coût).

Le retour d’expérience de Traxall

Contexte et origine du projet

Traxall, filiale du groupe Faubourg, est un acteur spécialisé dans la gestion de flottes automobiles. L’entreprise a besoin de disposer d’une base décisionnelle qui soit en capacité de fournir :

  • de l’analyse financière et opérationnelle en interne à partir de l’application de gestion de flottes

  • du reporting de qualité à ses clients en travaillant sur les datas 

Problème identifié : un datawarehouse et une base de données décisionnelle qui consomment énormément de ressources. Actuellement, les flux décisionnels existants tournent deux fois par jour au milieu de l’applicatif de production sur une base surdimensionnée pour le besoin et l'usage. Depuis 10 ans, l’entreprise réalimente à chaque exécution toutes les données de manière complète, sans logique incrémentale. Pour Marc Journeux, CTO de Traxall, l’enjeu est de rationaliser le fonctionnement de son système décisionnel pour en optimiser la puissance de calcul et ainsi la consommation d’énergie. 

L’entreprise a donc initié une démarche pour optimiser la conception logicielle de son système décisionnel ainsi que ses infrastructures numériques. 

Une méthode de développement éco-responsable basée sur la sobriété

Pour Lucas Boscherie, Data scientist chez Treez, développer sobrement c’est adopter la méthode suivante :

  • Développer dans les bonnes pratiques du code afin de consommer le minimum de ressources pour chaque brique développée
  • Développer sur un serveur aux performances volontairement faibles, afin de bien identifier les éléments de code qui seront à optimiser, c’est-à-dire les endroits des flux pendant lesquels le serveur de développement s’étouffe (plus assez de RAM, de CPU ou trop de I/O disques)
  • Après avoir réalisé toutes les optimisations, dimensionner le serveur afin d’exécuter le code dans des temps de réponses acceptables pour les utilisateurs.


Des résultats concrets

L’utilisation des serveurs de Traxall est optimisée donc la consommation d’énergie et des émissions de CO2 également : 

  • L'optimisation cloud de l'infrastructure (start&stop) a permis de diviser le coût environnemental de l'infrastructure par 24. 

  • Les serveurs sont sollicités une heure par jour, puis éteints ensuite. 

  • 60 heures d’actualisation coûtent désormais 180 euros à l’entreprise au lieu de 3800 euros initialement (le coût reflète la puissance du système qui est consommée, dans une infrastructure Cloud).

Pour aller plus loin 

(Connectez-vous à votre compte pour accéder aux Ressources)

Vous souhaitez plus d’informations sur la sobriété numérique appliquée à la data pour votre information personnelle ou convaincre vos équipes en interne ?
Vous pouvez :

  • visionner toutes les pauses-cafés du groupe Ethique et Data :

> Pause-café #1 : échange sur les sujets sur lesquels les participants seront invités à débattre tout au long de ce cycle
> Pause-café #2 : échanges sur l'optimisation de l’infrastructure d'un projet data
> Pause-café #3 : échanges sur le le code et son optimisation
> Pause-café #4 : échanges sur les usages utilisateurs
 

  • contacter ses membres :

Arnauld Castex (i-BP), Rémi Le Mauff (Treez Data), Lucas Boscherie (Treez Data), Christian Bonnin (Integraal-MD), Simon Chiarisoli (Orange) au sein de la communauté ADN Data.

Sources :
(1) : SPLUNK, L'ère des données, 2020 : 
(2) : The Shift Project, Déployer la sobriété numérique, 2020.

Nos dernières actualités

Découvrir toutes les actualités